package com.zs.backend.modules.enterpriseOrder.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.web.multipart.MultipartFile;

/**
 * <p>
 * 企业订单管理表
 * </p>
 *
 * @author zs
 * @since 2024-03-18
 */

@Data
@Builder
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor  // 添加无参构造方法
public class EnterpriseOrderDTO  {

    @ApiModelProperty("订单id")
    private Long id;

    @ApiModelProperty("所属公司id")
    private Long companyId;

    @ApiModelProperty("所属公司名称")
    private String companyName;

    @ApiModelProperty("企业部")
    private String enterprise;

    @ApiModelProperty("人才部")
    private String personnel;

    @ApiModelProperty("人才姓名")
    private String personnelName;

    @ApiModelProperty("专业")
    private String major;

    @ApiModelProperty("公司")
    private String majorCompany;

    @ApiModelProperty("对接人")
    private String contactPerson;

    @ApiModelProperty("对接人电话")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String contactTel;

    @ApiModelProperty("个人证书类别(1:注册类；2：非注册类)")
    private Integer type;

    @ApiModelProperty("收证人")
    private String acceptCertificateUserName;

    @ApiModelProperty("去向")
    private String destination;

    @ApiModelProperty("签合同时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date contractSignTime;

    @ApiModelProperty("合同到期时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date contractEndTime;

    @ApiModelProperty("服务费")
    private BigDecimal serviceAmount;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @ApiModelProperty("创建人id")
    private Long createUid;

    @ApiModelProperty("创建人名称")
    private String createUname;

    @ApiModelProperty("订单状态（0：未使用;1：已打款）")
    private Integer status;

    private Date startContractEndTime;
    private Date endContractEndTime;

    private Date startOrderTime;
    private Date endOrderTime;

    @ApiModelProperty("是否到期（0 否，1 是，默认0）")
    private Boolean expire;

    @ApiModelProperty("打款申请-类型(打款)")
    private String payApplyApplicationType;

    @ApiModelProperty("打款申请-支付类型(从字典项打款申请支付类型获取)")
    private Integer payApplyType;

    @ApiParam(value = "打款申请金额", name = "payApplyAmount")
    private BigDecimal payApplyAmount;

    @ApiParam(value = "打款申请金额-付款信息", name = "payApplyInfo")
    private String payApplyInfo;

    @ApiParam(value = "打款申请金额-备注", name = "payApplyRemark")
    private String payApplyRemark;

    @ApiModelProperty("打款证明-图片文件")
    private MultipartFile paymentImageFile;
    @ApiModelProperty("打款证明-图片文件名字")
    private String paymentImageFileName;
    private byte[] paymentImageFileData;
    private String paymentImageFileType;
    @ApiModelProperty("订单打款审核状态（0：未审核;1：审核通过，2：审核不通过）")
    private Integer auditingStatus;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date paymentTime;

    @ApiModelProperty("手机号码-加密")
    private String encodeTel;

    @ApiModelProperty("身份证号-加密")
    private String encodeIdCard;



}
